Dialog systems are widely used in applications for portable devices. Typically, a dialog system includes a computer-based agent having a human machine interface for accessing, processing, managing, and delivering information. Dialog systems are also known as chat information systems, spoken dialog systems, conversational agents, chatter robots, chatterbots, chatbots, chat agents, digital personal assistants, automated online assistants, and the like.
Traditionally, a dialog system can interact with a human using a natural language to simulate an intelligent conversation and provide personalized assistance to the user. For example, a user may ask the dialog system “What is the weather like in Alexandria today?” and receive an answer from the dialog system in the form of audio or text messages. The user may provide voice commands to the dialog system to cause performance of certain operations, for example, generating e-mails, making phone calls, searching for information, navigating, setting notifications or reminders, and so forth. These and other functionalities make dialog systems very popular with users, especially with users of portable electronic devices such as, for example, smart phones and tablet computers.
A dialog system can include a dialog system engine responsible for receiving user voice inputs, transforming them into text inputs, interpreting the text inputs, generating appropriate responses to the text inputs, and delivering responses to users. Interpreting inputs and finding proper responses can utilize artificial intelligence algorithms. Thus, despite the growing demand for dialog systems, creating the dialog systems remains a complex engineering task.